data allocation